Wireless device content information theft protection system

ABSTRACT

A wireless device, such as a laptop computer or a cellular phone, may contain confidential information which may be secured by an internal security system. When the device is stolen, the user can provide a portion of a kill code to a wireless service provider. The wireless service provider provides its own portion of the kill code and combines it with the user&#39;s supplied code. Then, the service provider may transmit the combined kill code to the wireless device. Upon receipt, the wireless device may erase all confidential information on the device. In other embodiments, it may erase any unlocked block of memory. As still another alternative, the system may also, upon receipt of the combined kill code, disable the operating system.

BACKGROUND

This invention relates generally to wireless devices.

Wireless devices include any device that can receive a wireless communication. Examples of such devices include cellular telephones, laptop computers, and personal digital assistants, to mention a few examples.

Portable devices, including portable wireless devices, are prone to theft. When stolen, not only is the property taken, but also confidential information, stored on the wireless device, may be obtained which may be misused. Examples of such confidential information include banking information, passwords, and addresses.

The owner of the wireless device is victimized through the loss of the hardware. The owner also suffers the possibility of further victimization through the unauthorized access to confidential information.

Thus, there is a need for a way to protect the confidential information when a wireless device is misappropriated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system depiction of one embodiment of the present invention;

FIG. 2 is a schematic depiction of the non-volatile storage shown in FIG. 1 in accordance with one embodiment of the present invention;

FIG. 3 is a flow chart for a software 28, shown in FIG. 2, in accordance with one embodiment of the present invention;

FIG. 4 is a diagram illustrating the operation of one embodiment of the present invention; and,

FIG. 5 is a flow chart for software in accordance with another embodiment of the present invention.

DETAILED DESCRIPTION

Referring to FIG. 1, a wireless device 10 may include a general purpose processor 12 coupled to a bus 16. The wireless device may be a laptop computer, a personal digital assistant, or a cellular telephone, to mention a few examples. In some cases, such as when the device 10 is a cellular telephone, it may also include a digital signal processor (DSP) 14, also coupled to the bus 16. A variety of elements may be coupled to the device 16 as well, including a volatile storage 18, an input/output device 20, and a non-volatile storage 22. In one embodiment, the non-volatile storage 22 may be flash memory. In another embodiment, the storage 22 may be a small form factor hard drive, removable or embedded memory card, or a subscriber identity module (SIM) device.

Also coupled to the bus 16 is a wireless interface 25. The wireless interface may be a cellular wireless interface, or a wireless interface in association with any other wireless standard. It may be, for example, to transmit messages over a radio frequency network. The wireless interface may be an antenna or a wireless transceiver, although the scope of the present invention is not limited in this respect. For example, the antenna may be a dipole antenna in one embodiment of the present invention.

In accordance with one embodiment of the present invention, the non-volatile storage 22 may be implemented by a semiconductor memory such as a flash memory. In one embodiment the storage 22 may be implemented at least in part by a removable memory card or stick. In such an embodiment, blocks within the memory may be either locked or unlocked. Unlocked blocks may store anything other than the operating system for the system 10 and the security system 28, which will be described hereinafter. Unlocked blocks may store everything other than the operating system and the security system, including passwords, programs, and data. At least some of the information stored in the unlocked blocks may be confidential information which the user would prefer not to have land in the wrong hands.

Conventionally, flash memories may include locked blocks to prevent their erasure under any circumstances. Then, unlocked blocks can be programmed and reprogrammed by the user.

Referring to FIG. 3, the security system 28 may be implemented in software executed by the general purpose processor 12. The security system software 28 initially may receive a kill code. A kill code is a code transmitted by a service provider, such as a wireless service provider, after the device 10 has been stolen. The kill code directs the device 10 to self-destruct certain features. Those features may include the erasing of unlocked blocks of memory 28. It may also ultimately result in the permanent disabling of the device 10 in some embodiments.

A two-part kill code may be provided. That two-part kill code may be permanently stored within the security system 28. The kill code may include a code which only the service provider knows and a code which only the device 10 owner or user knows. Only when both the user and the wireless provider provide their codes and the service provider combine their codes, can the system 10 be disabled.

In some embodiments, this assures the user that the system provider cannot use the security system 28 to simply cutoff the user. At the same time, it secures the service provider who is unable to disable the system without the user's consent, registered via the user providing the kill code which, in some embodiments, may only be known to the user.

The security system software 28 causes the two-part kill code to be compared to a stored kill code permanently resident within the device 10, for example, in the locked blocks 26 of the non-volatile storage 22.

If a match is detected, as indicated at diamond 34, all unlocked blocks may be erased as indicated in block 31. Alternatively, all of the information in unlocked blocks may simply be reprogrammed to be all zeros or all ones, as another example.

Then, in some embodiments, after the software 28 has fully executed its function, it may set an operating system flag to off as indicated in block 38. The next time the operating system runs through the code, it finds the flag set to off, preventing the operating system from executing any further. This may permanently disable the device 10 in some embodiments of the present invention.

Referring to FIG. 4, the operation of the kill code is further illustrated. The owner or user provides a self-destruct code to the service provider. More accurately, the user provides his or her own portion of the overall self-destruct code. The service provider then combines the owner provided self-destruct code with the service provider provided self-destruct code. Then, the service provider wirelessly transmits the combined kill code to the wireless device 10. This wireless transmission may be at periodic intervals in some embodiments. In other embodiments, it may be continuously broadcast. As still another example, before the wireless device 10 may operate, it may have to request authorization from the service provider. Upon such a request, the service provider can provide the kill code.

In some embodiments, the service provider can turn the wireless device 10 on so that the user cannot prevent its actuation and destruction by simply maintaining the device 10 in an off state.

The wireless device 10 then compares both codes received from the service provider to the stored kill code. In case of a match, the device 10 erases unlocked blocks of flash memory and disables the operating system.

In accordance with another embodiment of the present invention, non-volatile storage 22 may be one time programmable. In one embodiment, non-volatile storage 22 may be a one time programmable memory that stores both portions of the kill code when the wireless device 10 is originally provided to a customer. The owner would then transmit the service provider's portion of the kill code to the service provider and would keep the other portion on the device 10.

In still another embodiment of the present invention, the owner can create the kill code and program it into the non-volatile storage 22 where it would be locked. For example, a graphical user interface may prompt the user to enter the two kill codes thru a keyboard which is part of the input output device 20. The system may then automatically transmit the service provider portion to the service provider. In other words the user may be asked to enter a user portion thru a graphical user interface and then the user is automatically asked to provide a service provider portion so that a device 10 knows which one is the service provider portion. Then, the device 10 may automatically transmit the service provider portion to the service provider.

Referring to FIG. 5, in accordance with another embodiment, the user kill code software 40 may be stored in the non-volatile storage 22 in one embodiment of the present invention. The software 40 begins by determining whether the device 10 is on in diamond 42. If so, the user is prompted (e.g., via a graphical user interface) for the user kill code as indicated in block 44. When that kill code is received, it is stored as indicated in diamond 46. When stored, the user is then prompted (e.g., via a graphical user interface) for the service provider kill code as indicated in block 48. A check at diamond 50 determines whether the service provider kill code has been received and stored. If so, the service provider kill code is automatically transmitted to the service provider as indicated in block 52.

While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention. 

1. A method comprising: providing a two-portion kill code, said kill code including a first portion provided to the user of the wireless device and a second portion provided to a wireless service provider who provides wireless service for the wireless device.
 2. The method of claim 1 including storing said kill code in a flash memory.
 3. The method of claim 2 including storing said kill code in a locked block of said flash memory.
 4. The method of claim 1 including providing a code that is activated by said kill code to automatically erase certain portions of a memory of said device.
 5. The method of claim 4 including providing code that automatically erases unlocked blocks of flash memory.
 6. The method of claim 5 including providing a code which automatically disables an operating system of said device when said kill code is detected by said wireless device.
 7. The method of claim 1 including providing software on said wireless device that prompts the user to enter at least one part of said two part kill code and automatically stores said at least one part of said two part kill code.
 8. The method of claim 7 including automatically prompting the user to enter both parts of said two part kill code and automatically storing both parts of said two part kill code.
 9. The method of claim 8 including automatically transmitting the service provider's part of said two part kill code to said service provider.
 10. A storage for a wireless device comprising: a memory storing a two-portion kill code including a first portion provided to the user of a wireless device and a second portion provided to a wireless service provider that provides wireless service for the wireless device.
 11. The storage of claim 10 wherein said memory is a flash memory.
 12. The storage of claim 11 wherein said flash memory includes locked blocks and unlocked blocks.
 13. The storage of claim 12 wherein said kill code is stored in locked blocks of said flash memory.
 14. The storage of claim 13 wherein confidential information is stored in unlocked blocks of said flash memory.
 15. The storage of claim 13 wherein said operating system is stored in locked blocks of said flash memory.
 16. The storage of claim 10 wherein said apparatus stores code activated by receipt of a kill code to automatically erase certain portions of said memory.
 17. The storage of claim 15, said code to automatically erase unlocked blocks of said memory.
 18. The storage of claim 17, said code to automatically disable an operating system of said device when said kill code is detected.
 19. A system comprising: a controller; a storage coupled to said controller storing a two-portion kill code including a first portion provided to the user of the system and a second portion provided to a wireless service provider that provides wireless service to the system; and a wireless interface coupled to said controller.
 20. The system of claim 19 wherein said memory is a flash memory.
 21. The system of claim 20 wherein said flash memory includes locked blocks and unlocked blocks.
 22. The system of claim 21 wherein said kill code is stored in locked blocks of said flash memory.
 23. The system of claim 22 wherein confidential information is stored in said unlocked blocks of said flash memory.
 24. The system of claim 23 wherein said operating system is stored in locked blocks of said flash memory.
 25. The system of claim 19 wherein said storage stores code activated by receipt of a kill code to automatically erase certain portions of said storage.
 26. The system of claim 25, said code to automatically erase unlocked blocks of said storage.
 27. The system of claim 19, said code to automatically disable an operating system of said system when said kill code is detected.
 28. A method comprising: receiving a two-portion kill code including a first portion provided by the user and a second portion provided by a wireless service provider; comparing said received two-portion kill code to a kill code stored in a receiver; and if said kill codes match, disabling at least a portion of a storage device in said receiver.
 29. The method of claim 28 wherein disabling at least a portion of a storage device includes disabling unlocked blocks of a flash memory.
 30. The method of claim 28 further including disabling the operating system in response to receipt of a kill code.
 31. The method of claim 28 including automatically erasing confidential information in response to receipt of said kill code.
 32. An article comprising a medium storing instructions that, if executed, enable a processor-based system to: detect a two-portion wireless kill code including a first portion provided by the user and a second portion provided by a wireless service provider; compare said received two-portion kill code to a kill code stored in said system; and if said kill codes match, disable at least a portion of a storage device in said system.
 33. The article of claim 32 further storing instructions that, if executed, enable the processor-based system to disable unlocked blocks of a flash memory.
 34. The article of claim 32 further storing instructions that, if executed, enable the processor-based system to disable the operating system in response to receipt of the two-portion kill code.
 35. The article of claim 32 further storing instructions that, if executed, enable the processor-based system to automatically erase confidential information in response to receipt of said kill code. 